[INFO] fetching crate tui-file-explorer 0.9.1...
[INFO] testing tui-file-explorer-0.9.1 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate tui-file-explorer 0.9.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate tui-file-explorer 0.9.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate tui-file-explorer 0.9.1
[INFO] tweaked toml for crates.io crate tui-file-explorer 0.9.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tui-file-explorer 0.9.1 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tui-file-explorer 0.9.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f2f479a5cbf9af8d032bca28bb509807cb107dae52ab2162dbe3df1b59083b4b
[INFO] running `Command { std: "docker" "start" "-a" "f2f479a5cbf9af8d032bca28bb509807cb107dae52ab2162dbe3df1b59083b4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2f479a5cbf9af8d032bca28bb509807cb107dae52ab2162dbe3df1b59083b4b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2f479a5cbf9af8d032bca28bb509807cb107dae52ab2162dbe3df1b59083b4b", kill_on_drop: false }`
[INFO] [stdout] f2f479a5cbf9af8d032bca28bb509807cb107dae52ab2162dbe3df1b59083b4b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4f85bb2c671e9352fca4a8b219e29b7385700b93bd95c7c8502857414d74e6e
[INFO] running `Command { std: "docker" "start" "-a" "b4f85bb2c671e9352fca4a8b219e29b7385700b93bd95c7c8502857414d74e6e", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling line-clipping v0.3.5
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling lru v0.16.3
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling kasuari v0.4.11
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling ratatui-core v0.1.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling tui-slider v0.3.2
[INFO] [stderr]    Compiling tui-file-explorer v0.9.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.21s
[INFO] running `Command { std: "docker" "inspect" "b4f85bb2c671e9352fca4a8b219e29b7385700b93bd95c7c8502857414d74e6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4f85bb2c671e9352fca4a8b219e29b7385700b93bd95c7c8502857414d74e6e", kill_on_drop: false }`
[INFO] [stdout] b4f85bb2c671e9352fca4a8b219e29b7385700b93bd95c7c8502857414d74e6e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 29dff6b7f69cc5c78277b78ab0a064577438d92d583143ce800ee1e1fca9ba98
[INFO] running `Command { std: "docker" "start" "-a" "29dff6b7f69cc5c78277b78ab0a064577438d92d583143ce800ee1e1fca9ba98", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.0
[INFO] [stderr]    Compiling ratatui v0.30.0
[INFO] [stderr]    Compiling tui-slider v0.3.2
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling tui-file-explorer v0.9.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.06s
[INFO] running `Command { std: "docker" "inspect" "29dff6b7f69cc5c78277b78ab0a064577438d92d583143ce800ee1e1fca9ba98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "29dff6b7f69cc5c78277b78ab0a064577438d92d583143ce800ee1e1fca9ba98", kill_on_drop: false }`
[INFO] [stdout] 29dff6b7f69cc5c78277b78ab0a064577438d92d583143ce800ee1e1fca9ba98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9b4a20e20e85055e90cc93e2e89337ea856f42d08a93b810267cf179012b0570
[INFO] running `Command { std: "docker" "start" "-a" "9b4a20e20e85055e90cc93e2e89337ea856f42d08a93b810267cf179012b0570", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.24s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tui_file_explorer-f13b139126f986d6)
[INFO] [stdout] 
[INFO] [stdout] running 501 tests
[INFO] [stdout] test app::tests::app_options_default_theme_idx_zero ... ok
[INFO] [stdout] test app::tests::app_options_default_cd_on_exit_false ... ok
[INFO] [stdout] test app::tests::app_options_default_single_pane_false ... ok
[INFO] [stdout] test app::tests::app_options_default_show_hidden_false ... ok
[INFO] [stdout] test app::tests::app_options_default_show_theme_panel_false ... ok
[INFO] [stdout] test app::tests::active_pane_mut_returns_left_when_left_is_active ... ok
[INFO] [stdout] test app::tests::capital_o_closes_options_panel_when_already_open ... ok
[INFO] [stdout] test app::tests::active_pane_mut_returns_right_when_right_is_active ... ok
[INFO] [stdout] test app::tests::active_pane_returns_right_when_switched ... ok
[INFO] [stdout] test app::tests::capital_o_opens_options_panel ... ok
[INFO] [stdout] test app::tests::app_new_open_with_editor_is_none ... ok
[INFO] [stdout] test app::tests::capital_c_sets_status_message_off ... ok
[INFO] [stdout] test app::tests::app_new_editor_field_is_from_options ... ok
[INFO] [stdout] test app::tests::clipboard_item_copy_icon_and_label ... ok
[INFO] [stdout] test app::tests::clipboard_item_count_single ... ok
[INFO] [stdout] test app::tests::active_pane_returns_left_by_default ... ok
[INFO] [stdout] test app::tests::clipboard_item_count_multi ... ok
[INFO] [stdout] test app::tests::clipboard_item_cut_icon_and_label ... ok
[INFO] [stdout] test app::tests::capital_c_sets_status_message_on ... ok
[INFO] [stdout] test app::tests::confirm_delete_many_removes_all_files ... ok
[INFO] [stdout] test app::tests::confirm_delete_removes_file_and_updates_status ... ok
[INFO] [stdout] test app::tests::capital_c_toggles_cd_on_exit_off ... ok
[INFO] [stdout] test app::tests::capital_c_toggles_cd_on_exit_on ... ok
[INFO] [stdout] test app::tests::confirm_delete_many_clears_marks_on_both_panes ... ok
[INFO] [stdout] test app::tests::confirm_delete_removes_directory_recursively ... ok
[INFO] [stdout] test app::tests::confirm_delete_many_removes_directory_recursively ... ok
[INFO] [stdout] test app::tests::confirm_delete_many_sets_success_status ... ok
[INFO] [stdout] test app::tests::confirm_delete_many_partial_error_reports_both_counts ... ok
[INFO] [stdout] test app::tests::confirm_delete_nonexistent_path_sets_error_status ... ok
[INFO] [stdout] test app::tests::confirm_delete_many_reloads_both_panes ... ok
[INFO] [stdout] test app::tests::app_options_default_extensions_empty ... ok
[INFO] [stdout] test app::tests::app_options_default_sort_mode_is_name ... ok
[INFO] [stdout] test app::tests::confirm_delete_reloads_both_panes ... ok
[INFO] [stdout] test app::tests::do_paste_copy_file_succeeds ... ok
[INFO] [stdout] test app::tests::editor_custom_cycle_resets_to_none ... ok
[INFO] [stdout] test app::tests::editor_cycle_order ... ok
[INFO] [stdout] test app::tests::editor_binary_names ... ok
[INFO] [stdout] test app::tests::e_key_with_no_editor_sets_error_snackbar ... ok
[INFO] [stdout] test app::tests::copy_dir_skips_symlinks_without_failing ... ok
[INFO] [stdout] test app::tests::editor_binary_none_returns_option_none ... ok
[INFO] [stdout] test app::tests::do_paste_cut_file_removes_source ... ok
[INFO] [stdout] test app::tests::app_options_default_editor_is_none ... ok
[INFO] [stdout] test app::tests::do_paste_error_sets_error_status ... ok
[INFO] [stdout] test app::tests::editor_cycle_full_loop_returns_to_start ... ok
[INFO] [stdout] test app::tests::editor_default_is_none ... ok
[INFO] [stdout] test app::tests::editor_from_key_empty_returns_none ... ok
[INFO] [stdout] test app::tests::do_paste_success_status_mentions_filename ... ok
[INFO] [stdout] test app::tests::e_key_with_editor_does_not_set_snackbar ... ok
[INFO] [stdout] test app::tests::do_paste_reloads_both_panes ... ok
[INFO] [stdout] test app::tests::editor_from_key_unknown_is_custom ... ok
[INFO] [stdout] test app::tests::do_paste_copy_clears_previous_error_status ... ok
[INFO] [stdout] test app::tests::copy_dir_skips_valid_symlink_to_file ... ok
[INFO] [stdout] test app::tests::do_paste_copy_dir_recursively ... ok
[INFO] [stdout] test app::tests::editor_from_key_custom_prefix_strips_prefix ... ok
[INFO] [stdout] test app::tests::editor_label_names ... ok
[INFO] [stdout] test app::tests::editor_none_serialises_as_none_key ... ok
[INFO] [stdout] test app::tests::editor_to_key_round_trips ... ok
[INFO] [stdout] test app::tests::inactive_pane_is_left_when_right_is_active ... ok
[INFO] [stdout] test app::tests::helix_binary_returns_hx_or_helix ... ok
[INFO] [stdout] test app::tests::enter_on_file_with_editor_none_sets_selected_and_exits ... ok
[INFO] [stdout] test app::tests::helix_binary_matches_what_is_on_path ... ok
[INFO] [stdout] test app::tests::enter_on_dir_always_navigates_not_opens_editor ... ok
[INFO] [stdout] test app::tests::inactive_pane_is_right_when_left_is_active ... ok
[INFO] [stdout] test app::tests::marks_cleared_on_ascend ... ok
[INFO] [stdout] test app::tests::new_selected_is_none ... ok
[INFO] [stdout] test app::tests::new_cd_on_exit_false_by_default ... ok
[INFO] [stdout] test app::tests::new_show_theme_panel_false_by_default ... ok
[INFO] [stdout] test app::tests::new_clipboard_is_empty ... ok
[INFO] [stdout] test app::tests::new_single_pane_true_when_requested ... ok
[INFO] [stdout] test app::tests::new_cd_on_exit_true_when_requested ... ok
[INFO] [stdout] test app::tests::new_status_msg_is_empty ... ok
[INFO] [stdout] test app::tests::new_snackbar_is_none ... ok
[INFO] [stdout] test app::tests::new_theme_idx_from_options_is_respected ... ok
[INFO] [stdout] test app::tests::new_theme_idx_is_zero ... ok
[INFO] [stdout] test app::tests::enter_on_file_with_editor_sets_open_with_editor_not_selected ... ok
[INFO] [stdout] test app::tests::new_themes_list_is_non_empty ... ok
[INFO] [stdout] test app::tests::next_theme_never_exceeds_themes_len ... ok
[INFO] [stdout] test app::tests::key_release_after_yank_does_not_clobber_clipboard ... ok
[INFO] [stdout] test app::tests::notify_error_sets_error_snackbar ... ok
[INFO] [stdout] test app::tests::new_sets_default_active_pane_to_left ... ok
[INFO] [stdout] test app::tests::next_theme_wraps_around ... ok
[INFO] [stdout] test app::tests::new_show_theme_panel_true_when_requested ... ok
[INFO] [stdout] test app::tests::multi_delete_cancelled_sets_status_and_no_files_deleted ... ok
[INFO] [stdout] test app::tests::key_repeat_after_yank_does_not_clobber_clipboard ... ok
[INFO] [stdout] test app::tests::opening_options_panel_closes_theme_panel ... ok
[INFO] [stdout] test app::tests::pane_other_left_returns_right ... ok
[INFO] [stdout] test app::tests::pane_other_right_returns_left ... ok
[INFO] [stdout] test app::tests::new_show_options_panel_false_by_default ... ok
[INFO] [stdout] test app::tests::new_single_pane_false_by_default ... ok
[INFO] [stdout] test app::tests::new_modal_is_none ... ok
[INFO] [stdout] test app::tests::marks_cleared_on_directory_descend ... ok
[INFO] [stdout] test app::tests::next_theme_increments_idx ... ok
[INFO] [stdout] test app::tests::notify_sets_info_snackbar ... ok
[INFO] [stdout] test app::tests::opening_theme_panel_closes_options_panel ... ok
[INFO] [stdout] test app::tests::notify_replaces_previous_snackbar ... ok
[INFO] [stdout] test app::tests::paste_clipboard_path_with_no_filename_sets_status ... ok
[INFO] [stdout] test app::tests::paste_error_status_starts_with_error_prefix ... ok
[INFO] [stdout] test app::tests::paste_same_dir_cut_is_skipped ... ok
[INFO] [stdout] test app::tests::prev_theme_wraps_around ... ok
[INFO] [stdout] test app::tests::paste_multi_copy_creates_all_files_in_destination ... ok
[INFO] [stdout] test app::tests::paste_with_empty_clipboard_sets_status ... ok
[INFO] [stdout] test app::tests::paste_copy_creates_file_in_destination ... ok
[INFO] [stdout] test app::tests::prompt_delete_with_marks_raises_multi_delete_modal ... ok
[INFO] [stdout] test app::tests::paste_multi_cut_moves_all_files_and_clears_clipboard ... ok
[INFO] [stdout] test app::tests::paste_existing_dst_raises_overwrite_modal ... ok
[INFO] [stdout] test app::tests::prev_theme_decrements_idx ... ok
[INFO] [stdout] test app::tests::snackbar_error_is_not_expired_immediately ... ok
[INFO] [stdout] test app::tests::prompt_delete_with_marks_paths_are_sorted ... ok
[INFO] [stdout] test app::tests::prompt_delete_raises_modal_when_entry_exists ... ok
[INFO] [stdout] test app::tests::snackbar_is_expired_when_past_deadline ... ok
[INFO] [stdout] test app::tests::paste_success_sets_snackbar_notification ... ok
[INFO] [stdout] test app::tests::paste_multi_success_sets_snackbar ... ok
[INFO] [stdout] test app::tests::space_mark_adds_entry_to_marked_set ... ok
[INFO] [stdout] test app::tests::space_mark_toggles_off_when_already_marked ... ok
[INFO] [stdout] test app::tests::status_msg_is_cleared_by_do_paste_on_success ... ok
[INFO] [stdout] test app::tests::prev_theme_never_exceeds_themes_len ... ok
[INFO] [stdout] test app::tests::tab_key_switches_active_pane_from_right_to_left ... ok
[INFO] [stdout] test app::tests::space_mark_advances_cursor_down ... ok
[INFO] [stdout] test app::tests::prompt_delete_on_empty_dir_does_not_set_modal ... ok
[INFO] [stdout] test app::tests::prompt_delete_without_marks_raises_single_delete_modal ... ok
[INFO] [stdout] test app::tests::theme_desc_returns_non_empty_string ... ok
[INFO] [stdout] test app::tests::space_release_does_not_double_toggle_mark ... ok
[INFO] [stdout] test app::tests::status_msg_starts_with_error_on_failed_paste ... ok
[INFO] [stdout] test app::tests::paste_error_sets_error_snackbar_notification ... ok
[INFO] [stdout] test app::tests::tab_key_switches_active_pane_from_left_to_right ... ok
[INFO] [stdout] test app::tests::single_pane_toggle_via_field ... ok
[INFO] [stdout] test app::tests::theme_desc_matches_preset_catalogue ... ok
[INFO] [stdout] test app::tests::tab_key_two_switches_return_to_original ... ok
[INFO] [stdout] test app::tests::theme_name_and_desc_change_together_with_idx ... ok
[INFO] [stdout] test app::tests::theme_name_matches_preset_catalogue ... ok
[INFO] [stdout] test app::tests::paste_cut_moves_file_and_clears_clipboard ... ok
[INFO] [stdout] test app::tests::theme_name_returns_str_for_idx_zero ... ok
[INFO] [stdout] test app::tests::theme_returns_correct_preset_object ... ok
[INFO] [stdout] test app::tests::which_on_path_finds_existing_binary ... ok
[INFO] [stdout] test app::tests::which_on_path_returns_false_for_nonexistent_binary ... ok
[INFO] [stdout] test app::tests::yank_copy_populates_clipboard_with_copy_op ... ok
[INFO] [stdout] test app::tests::yank_cut_status_mentions_cut_and_filename ... ok
[INFO] [stdout] test app::tests::yank_with_marks_clears_marks_after_yank ... ok
[INFO] [stdout] test app::tests::yank_on_empty_dir_does_not_set_clipboard ... ok
[INFO] [stdout] test app::tests::yank_inactive_pane_marks_does_not_clear_active_pane_marks ... ok
[INFO] [stdout] test app::tests::yank_inactive_pane_marks_clears_inactive_pane_marks ... ok
[INFO] [stdout] test dual_pane::tests::active_mut_returns_left_by_default ... ok
[INFO] [stdout] test app::tests::yank_active_pane_marks_take_priority_over_inactive_pane_marks ... ok
[INFO] [stdout] test app::tests::yank_copy_status_mentions_copied_and_filename ... ok
[INFO] [stdout] test app::tests::yank_cut_populates_clipboard_with_cut_op ... ok
[INFO] [stdout] test app::tests::yank_inactive_marks_from_right_pane_when_active_is_left_with_no_marks ... ok
[INFO] [stdout] test app::tests::yank_with_marks_yanks_all_marked_files ... ok
[INFO] [stdout] test app::tests::yank_falls_back_to_cursor_when_no_marks_in_either_pane ... ok
[INFO] [stdout] test app::tests::yank_uses_inactive_pane_marks_when_active_pane_has_none ... ok
[INFO] [stdout] test dual_pane::tests::builder_default_active_side_is_left ... ok
[INFO] [stdout] test dual_pane::tests::active_returns_right_after_focus_switch ... ok
[INFO] [stdout] test dual_pane::tests::builder_default_single_pane_is_false ... ok
[INFO] [stdout] test dual_pane::tests::builder_extension_filter_limits_visible_files_on_both_panes ... ok
[INFO] [stdout] test dual_pane::tests::active_mut_returns_right_when_right_is_active ... ok
[INFO] [stdout] test dual_pane::tests::builder_extension_filter_applies_to_both_panes ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_active_other_left_returns_right ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_active_other_right_returns_left ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_mkdir_created_carries_path ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_selected_carries_path ... ok
[INFO] [stdout] test dual_pane::tests::builder_show_hidden_applies_to_both_panes ... ok
[INFO] [stdout] test dual_pane::tests::builder_without_right_dir_mirrors_left ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_active_default_is_left ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_touch_created_carries_path ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_dismissed_eq ... ok
[INFO] [stdout] test dual_pane::tests::builder_single_pane_true_when_requested ... ok
[INFO] [stdout] test app::tests::yank_with_marks_status_mentions_count ... ok
[INFO] [stdout] test dual_pane::tests::builder_allow_extension_accumulates ... ok
[INFO] [stdout] test app::tests::yank_sets_status_message ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_pending_eq ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_unhandled_eq ... ok
[INFO] [stdout] test dual_pane::tests::focus_left_after_switch_to_right_restores_left ... ok
[INFO] [stdout] test dual_pane::tests::enter_on_file_returns_selected ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_rename_completed_carries_path ... ok
[INFO] [stdout] test dual_pane::tests::builder_sort_mode_applies_to_both_panes ... ok
[INFO] [stdout] test dual_pane::tests::focus_right_after_switch_to_left_restores_right ... ok
[INFO] [stdout] test dual_pane::tests::focus_right_sets_active_to_right ... ok
[INFO] [stdout] test dual_pane::tests::inactive_after_focus_right_is_left ... ok
[INFO] [stdout] test dual_pane::tests::inactive_after_focus_left_is_right ... ok
[INFO] [stdout] test dual_pane::tests::focus_left_sets_active_to_left ... ok
[INFO] [stdout] test dual_pane::tests::builder_right_dir_sets_independent_right_pane ... ok
[INFO] [stdout] test app::tests::snackbar_info_is_not_expired_immediately ... ok
[INFO] [stdout] test dual_pane::tests::dual_pane_outcome_selected_neq_dismissed ... ok
[INFO] [stdout] test dual_pane::tests::navigation_keys_forwarded_to_active_pane ... ok
[INFO] [stdout] test dual_pane::tests::r_key_on_inactive_pane_does_not_activate_rename_there ... ok
[INFO] [stdout] test dual_pane::tests::inactive_returns_left_when_right_is_active ... ok
[INFO] [stdout] test dual_pane::tests::tab_switches_active_pane_from_right_to_left ... ok
[INFO] [stdout] test dual_pane::tests::mkdir_created_outcome_is_surfaced_not_collapsed ... ok
[INFO] [stdout] test dual_pane::tests::tab_switches_active_pane_from_left_to_right ... ok
[INFO] [stdout] test dual_pane::tests::reload_both_picks_up_new_files ... ok
[INFO] [stdout] test dual_pane::tests::tab_does_not_affect_inactive_pane_cursor ... ok
[INFO] [stdout] test dual_pane::tests::tab_returns_pending ... ok
[INFO] [stdout] test dual_pane::tests::r_key_surfaces_rename_completed_from_active_pane ... ok
[INFO] [stdout] test dual_pane::tests::q_key_returns_dismissed ... ok
[INFO] [stdout] test dual_pane::tests::inactive_returns_right_when_left_is_active ... ok
[INFO] [stdout] test dual_pane::tests::esc_returns_dismissed ... ok
[INFO] [stdout] test dual_pane::tests::active_returns_left_by_default ... ok
[INFO] [stdout] test dual_pane::tests::navigation_after_tab_affects_right_pane ... ok
[INFO] [stdout] test dual_pane::tests::toggle_single_pane_flips_state ... ok
[INFO] [stdout] test dual_pane::tests::toggle_single_pane_from_false_to_true ... ok
[INFO] [stdout] test dual_pane::tests::toggle_single_pane_twice_returns_to_original ... ok
[INFO] [stdout] test explorer::tests::builder_sort_mode_applied ... ok
[INFO] [stdout] test dual_pane::tests::touch_created_outcome_is_surfaced_not_collapsed ... ok
[INFO] [stdout] test explorer::tests::capital_g_key_jumps_to_bottom ... ok
[INFO] [stdout] test dual_pane::tests::unrecognised_key_returns_unhandled ... ok
[INFO] [stdout] test explorer::tests::can_mark_multiple_entries ... ok
[INFO] [stdout] test dual_pane::tests::w_key_returns_pending ... ok
[INFO] [stdout] test dual_pane::tests::w_key_toggles_single_pane_on ... ok
[INFO] [stdout] test explorer::tests::cursor_clamped_after_reload_with_fewer_entries ... ok
[INFO] [stdout] test explorer::tests::dirs_listed_before_files ... ok
[INFO] [stdout] test explorer::tests::ascend_at_root_sets_status ... ok
[INFO] [stdout] test explorer::tests::ascend_at_root_does_not_panic ... ok
[INFO] [stdout] test explorer::tests::clear_marks_empties_marked_set ... ok
[INFO] [stdout] test explorer::tests::default_sort_mode_is_name ... ok
[INFO] [stdout] test explorer::tests::end_key_jumps_to_bottom ... ok
[INFO] [stdout] test explorer::tests::current_entry_returns_highlighted ... ok
[INFO] [stdout] test explorer::tests::enter_on_file_still_confirms_and_exits ... ok
[INFO] [stdout] test explorer::tests::backspace_still_ascends ... ok
[INFO] [stdout] test explorer::tests::builder_allow_extension_filters_entries ... ok
[INFO] [stdout] test explorer::tests::backspace_in_search_pops_char_not_ascend ... ok
[INFO] [stdout] test explorer::tests::builder_show_hidden_shows_dotfiles ... ok
[INFO] [stdout] test dual_pane::tests::w_key_toggles_single_pane_off ... ok
[INFO] [stdout] test explorer::tests::entry_icon_css_returns_palette ... ok
[INFO] [stdout] test explorer::tests::entry_icon_directory ... ok
[INFO] [stdout] test explorer::tests::entry_icon_exe_returns_gear ... ok
[INFO] [stdout] test explorer::tests::entry_icon_gz_returns_package ... ok
[INFO] [stdout] test explorer::tests::entry_icon_iso_returns_disc ... ok
[INFO] [stdout] test explorer::tests::entry_icon_json_returns_gear ... ok
[INFO] [stdout] test explorer::tests::entry_icon_md_returns_memo ... ok
[INFO] [stdout] test explorer::tests::entry_icon_html_returns_globe ... ok
[INFO] [stdout] test explorer::tests::entry_icon_no_extension_returns_document ... ok
[INFO] [stdout] test explorer::tests::entry_icon_recognises_known_extensions ... ok
[INFO] [stdout] test explorer::tests::entry_icon_svg_returns_palette ... ok
[INFO] [stdout] test explorer::tests::entry_icon_tar_returns_package ... ok
[INFO] [stdout] test explorer::tests::entry_icon_mp3_returns_music ... ok
[INFO] [stdout] test explorer::tests::entry_icon_toml_returns_gear ... ok
[INFO] [stdout] test explorer::tests::entry_icon_mp4_returns_film ... ok
[INFO] [stdout] test explorer::tests::entry_icon_unknown_extension_returns_document ... ok
[INFO] [stdout] test explorer::tests::entry_icon_pdf_returns_book ... ok
[INFO] [stdout] test explorer::tests::entry_icon_py_returns_snake ... ok
[INFO] [stdout] test explorer::tests::entry_icon_zip_returns_package ... ok
[INFO] [stdout] test explorer::tests::fmt_size_1_5_kb ... ok
[INFO] [stdout] test explorer::tests::fmt_size_1_mb_boundary ... ok
[INFO] [stdout] test explorer::tests::extension_filter_is_case_insensitive ... ok
[INFO] [stdout] test explorer::tests::esc_when_not_searching_dismisses ... ok
[INFO] [stdout] test explorer::tests::entry_icon_jpg_returns_image ... ok
[INFO] [stdout] test explorer::tests::fmt_size_1023_bytes_stays_bytes ... ok
[INFO] [stdout] test explorer::tests::fmt_size_2_mb ... ok
[INFO] [stdout] test explorer::tests::entry_icon_lock_returns_lock ... ok
[INFO] [stdout] test explorer::tests::entry_icon_ttf_returns_font ... ok
[INFO] [stdout] test explorer::tests::entry_icon_dmg_returns_disc ... ok
[INFO] [stdout] test explorer::tests::fmt_size_1_gb_boundary ... ok
[INFO] [stdout] test explorer::tests::entry_icon_png_returns_image ... ok
[INFO] [stdout] test explorer::tests::fmt_size_exact_boundaries ... ok
[INFO] [stdout] test explorer::tests::fmt_size_formats_bytes ... ok
[INFO] [stdout] test explorer::tests::entry_count_matches_entries_len ... ok
[INFO] [stdout] test explorer::tests::fmt_size_large_value ... ok
[INFO] [stdout] test explorer::tests::fmt_size_exactly_1_kb ... ok
[INFO] [stdout] test explorer::tests::fmt_size_zero_bytes ... ok
[INFO] [stdout] test explorer::tests::extension_filter_only_shows_matching_files ... ok
[INFO] [stdout] test explorer::tests::g_key_jumps_to_top ... ok
[INFO] [stdout] test explorer::tests::h_key_ascends_to_parent ... ok
[INFO] [stdout] test explorer::tests::handle_key_down_moves_cursor ... ok
[INFO] [stdout] test explorer::tests::handle_key_backspace_ascends ... ok
[INFO] [stdout] test explorer::tests::is_searching_false_after_esc_cancels_search ... ok
[INFO] [stdout] test explorer::tests::handle_key_esc_dismisses ... ok
[INFO] [stdout] test explorer::tests::handle_key_enter_on_valid_file_selects ... ok
[INFO] [stdout] test explorer::tests::handle_key_enter_on_dir_descends ... ok
[INFO] [stdout] test explorer::tests::fmt_size_one_byte ... ok
[INFO] [stdout] test explorer::tests::is_searching_false_by_default ... ok
[INFO] [stdout] test explorer::tests::is_searching_true_after_slash_key ... ok
[INFO] [stdout] test explorer::tests::is_rename_active_false_by_default ... ok
[INFO] [stdout] test explorer::tests::is_empty_reflects_visible_entries ... ok
[INFO] [stdout] test explorer::tests::k_key_moves_cursor_up ... ok
[INFO] [stdout] test explorer::tests::is_at_root_false_for_subdir ... ok
[INFO] [stdout] test explorer::tests::home_key_jumps_to_top ... ok
[INFO] [stdout] test explorer::tests::j_key_moves_cursor_down ... ok
[INFO] [stdout] test explorer::tests::load_entries_dirs_always_precede_files ... ok
[INFO] [stdout] test explorer::tests::load_entries_ext_filter_always_includes_dirs ... ok
[INFO] [stdout] test explorer::tests::load_entries_ext_filter_excludes_non_matching_files ... ok
[INFO] [stdout] test explorer::tests::load_entries_nonexistent_dir_returns_empty_vec ... ok
[INFO] [stdout] test explorer::tests::load_entries_empty_dir_returns_empty_vec ... ok
[INFO] [stdout] test explorer::tests::mkdir_mode_backspace_pops_via_macro ... ok
[INFO] [stdout] test explorer::tests::move_down_clamps_at_last ... ok
[INFO] [stdout] test explorer::tests::marks_cleared_when_ascending_to_parent ... ok
[INFO] [stdout] test explorer::tests::mkdir_mode_char_pushes_to_input_via_macro ... ok
[INFO] [stdout] test explorer::tests::mkdir_mode_unknown_key_returns_pending_via_macro ... ok
[INFO] [stdout] test explorer::tests::move_down_on_empty_dir_does_not_panic ... ok
[INFO] [stdout] test explorer::tests::move_up_at_top_does_not_underflow ... ok
[INFO] [stdout] test explorer::tests::move_down_increments_cursor ... ok
[INFO] [stdout] test explorer::tests::left_arrow_ascends_to_parent ... ok
[INFO] [stdout] test explorer::tests::l_key_descends_into_dir ... ok
[INFO] [stdout] test explorer::tests::move_up_clamps_at_zero ... ok
[INFO] [stdout] test explorer::tests::move_up_on_empty_dir_does_not_panic ... ok
[INFO] [stdout] test explorer::tests::navigate_to_accepts_str_slice ... ok
[INFO] [stdout] test explorer::tests::navigate_to_accepts_path_ref ... ok
[INFO] [stdout] test explorer::tests::navigate_to_resets_cursor_to_zero ... ok
[INFO] [stdout] test explorer::tests::page_up_at_top_does_not_underflow ... ok
[INFO] [stdout] test explorer::tests::navigate_to_resets_cursor_and_scroll ... ok
[INFO] [stdout] test explorer::tests::new_loads_entries ... ok
[INFO] [stdout] test explorer::tests::page_down_advances_cursor_by_ten ... ok
[INFO] [stdout] test explorer::tests::no_filter_shows_all_files ... ok
[INFO] [stdout] test explorer::tests::page_up_retreats_cursor_by_ten ... ok
[INFO] [stdout] test explorer::tests::load_entries_hidden_included_when_show_hidden_true ... ok
[INFO] [stdout] test explorer::tests::load_entries_search_query_is_case_insensitive ... ok
[INFO] [stdout] test explorer::tests::load_entries_hidden_excluded_by_default ... ok
[INFO] [stdout] test explorer::tests::page_down_at_bottom_does_not_overflow ... ok
[INFO] [stdout] test explorer::tests::mkdir_mode_esc_cancels_via_macro ... ok
[INFO] [stdout] test explorer::tests::r_key_activates_rename_mode_with_prefilled_name ... ok
[INFO] [stdout] test explorer::tests::marks_cleared_when_descending_into_directory ... ok
[INFO] [stdout] test explorer::tests::q_key_dismisses ... ok
[INFO] [stdout] test explorer::tests::rename_mode_char_pushes_to_input_via_macro ... ok
[INFO] [stdout] test explorer::tests::r_key_on_empty_dir_does_not_activate_rename ... ok
[INFO] [stdout] test explorer::tests::rename_mode_backspace_pops_via_macro ... ok
[INFO] [stdout] test explorer::tests::move_down_at_bottom_does_not_overflow ... ok
[INFO] [stdout] test explorer::tests::rename_mode_backspace_pops_last_char ... ok
[INFO] [stdout] test explorer::tests::marked_paths_returns_reference_to_marked_set ... ok
[INFO] [stdout] test explorer::tests::rename_mode_unknown_key_returns_pending_via_macro ... ok
[INFO] [stdout] test explorer::tests::rename_mode_can_rename_directory ... ok
[INFO] [stdout] test explorer::tests::rename_mode_cursor_moves_to_renamed_entry ... ok
[INFO] [stdout] test explorer::tests::right_arrow_on_file_at_last_entry_does_not_overflow ... ok
[INFO] [stdout] test explorer::tests::right_arrow_descends_into_dir ... ok
[INFO] [stdout] test explorer::tests::right_arrow_clears_marks_on_dir_descend ... ok
[INFO] [stdout] test explorer::tests::rename_mode_enter_renames_file_and_returns_rename_completed ... ok
[INFO] [stdout] test explorer::tests::rename_mode_chars_append_to_input ... ok
[INFO] [stdout] test explorer::tests::right_arrow_on_file_moves_down_not_exits ... ok
[INFO] [stdout] test explorer::tests::rename_mode_enter_with_empty_input_is_noop ... ok
[INFO] [stdout] test explorer::tests::rename_mode_unrecognised_key_returns_pending_without_cancelling ... ok
[INFO] [stdout] test explorer::tests::search_clears_on_directory_descend ... ok
[INFO] [stdout] test explorer::tests::rename_mode_esc_cancels_via_macro ... ok
[INFO] [stdout] test explorer::tests::right_arrow_clears_search_on_dir_descend ... ok
[INFO] [stdout] test explorer::tests::rename_mode_esc_cancels_without_renaming ... ok
[INFO] [stdout] test explorer::tests::scroll_offset_clamped_after_reload_with_empty_entries ... ok
[INFO] [stdout] test explorer::tests::search_active_chars_append_to_query ... ok
[INFO] [stdout] test explorer::tests::search_clears_on_ascend ... ok
[INFO] [stdout] test explorer::tests::rename_input_empty_by_default ... ok
[INFO] [stdout] test explorer::tests::sort_size_desc_orders_largest_first ... ok
[INFO] [stdout] test explorer::tests::sort_mode_cycles_on_s_key ... ok
[INFO] [stdout] test explorer::tests::space_key_toggles_mark_off ... ok
[INFO] [stdout] test explorer::tests::search_query_empty_when_not_searching ... ok
[INFO] [stdout] test explorer::tests::status_is_empty_on_fresh_explorer ... ok
[INFO] [stdout] test explorer::tests::space_key_marks_current_entry ... ok
[INFO] [stdout] test explorer::tests::status_cleared_after_reload ... ok
[INFO] [stdout] test explorer::tests::slash_activates_search_mode ... ok
[INFO] [stdout] test explorer::tests::set_extension_filter_updates_entries ... ok
[INFO] [stdout] test explorer::tests::search_filters_entries_by_name ... ok
[INFO] [stdout] test explorer::tests::toggle_mark_advances_cursor_down ... ok
[INFO] [stdout] test explorer::tests::search_backspace_pops_last_char ... ok
[INFO] [stdout] test explorer::tests::search_backspace_on_empty_deactivates ... ok
[INFO] [stdout] test explorer::tests::touch_mode_char_pushes_to_input_via_macro ... ok
[INFO] [stdout] test explorer::tests::toggle_hidden_changes_visibility ... ok
[INFO] [stdout] test explorer::tests::touch_mode_esc_cancels_via_macro ... ok
[INFO] [stdout] test explorer::tests::touch_mode_unknown_key_returns_pending_via_macro ... ok
[INFO] [stdout] test explorer::tests::toggle_mark_at_last_entry_does_not_overflow ... ok
[INFO] [stdout] test explorer::tests::unrecognised_key_returns_unhandled ... ok
[INFO] [stdout] test explorer::tests::set_sort_mode_reloads ... ok
[INFO] [stdout] test explorer::tests::toggle_mark_adds_entry_to_marked_set ... ok
[INFO] [stdout] test explorer::tests::sort_extension_groups_by_ext ... ok
[INFO] [stdout] test explorer::tests::search_is_case_insensitive ... ok
[INFO] [stdout] test explorer::tests::touch_mode_backspace_pops_via_macro ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_copies_single_file ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_copies_nested_structure ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_creates_dst_when_absent ... ok
[INFO] [stdout] test explorer::tests::toggle_mark_removes_already_marked_entry ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_empty_src_creates_empty_dst ... ok
[INFO] [stdout] test explorer::tests::search_esc_clears_and_deactivates_returns_pending ... ok
[INFO] [stdout] test fs::tests::resolve_output_path_dir_path_returns_parent_dir ... ok
[INFO] [stdout] test fs::tests::resolve_output_path_print_dir_false_returns_original ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_nonexistent_src_returns_error ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_leaves_source_intact ... ok
[INFO] [stdout] test fs::tests::resolve_output_path_print_dir_true_at_root_returns_root ... ok
[INFO] [stdout] test fs::tests::resolve_output_path_print_dir_true_returns_parent ... ok
[INFO] [stdout] test palette::tests::all_presets_contains_catppuccin_mocha ... ok
[INFO] [stdout] test palette::tests::all_presets_contains_dracula ... ok
[INFO] [stdout] test palette::tests::all_presets_contains_nord ... ok
[INFO] [stdout] test palette::tests::all_presets_count_is_at_least_27 ... ok
[INFO] [stdout] test palette::tests::all_presets_descriptions_are_non_empty ... ok
[INFO] [stdout] test palette::tests::all_presets_first_entry_is_default ... ok
[INFO] [stdout] test palette::tests::all_presets_is_non_empty ... ok
[INFO] [stdout] test palette::tests::all_presets_names_are_unique ... ok
[INFO] [stdout] test palette::tests::all_presets_names_are_non_empty ... ok
[INFO] [stdout] test palette::tests::builder_accent_overrides_field ... ok
[INFO] [stdout] test palette::tests::builder_dim_overrides_field ... ok
[INFO] [stdout] test palette::tests::builder_dir_overrides_field ... ok
[INFO] [stdout] test palette::tests::builder_chained_overrides_multiple_fields ... ok
[INFO] [stdout] test palette::tests::builder_does_not_mutate_other_fields ... ok
[INFO] [stdout] test palette::tests::builder_fg_overrides_field ... ok
[INFO] [stdout] test palette::tests::builder_match_file_overrides_field ... ok
[INFO] [stdout] test palette::tests::builder_sel_bg_overrides_field ... ok
[INFO] [stdout] test palette::tests::default_theme_accent_matches_constant ... ok
[INFO] [stdout] test palette::tests::builder_success_overrides_field ... ok
[INFO] [stdout] test palette::tests::default_theme_fg_matches_constant ... ok
[INFO] [stdout] test palette::tests::default_theme_dim_matches_constant ... ok
[INFO] [stdout] test palette::tests::builder_brand_overrides_field ... ok
[INFO] [stdout] test palette::tests::default_theme_dir_matches_constant ... ok
[INFO] [stdout] test fs::tests::copy_dir_all_overwrites_existing_file_in_dst ... ok
[INFO] [stdout] test palette::tests::default_theme_match_file_matches_constant ... ok
[INFO] [stdout] test palette::tests::default_theme_sel_bg_matches_constant ... ok
[INFO] [stdout] test palette::tests::default_theme_success_matches_constant ... ok
[INFO] [stdout] test palette::tests::named_preset_dracula_differs_from_default ... ok
[INFO] [stdout] test palette::tests::theme_clone_equals_original ... ok
[INFO] [stdout] test palette::tests::theme_partial_eq_reflexive ... ok
[INFO] [stdout] test persistence::tests::app_state_clone_equals_original ... ok
[INFO] [stdout] test palette::tests::named_preset_nord_differs_from_dracula ... ok
[INFO] [stdout] test persistence::tests::app_state_default_all_fields_none ... ok
[INFO] [stdout] test persistence::tests::app_state_default_equals_default ... ok
[INFO] [stdout] test persistence::tests::invalid_bool_value_yields_none ... ok
[INFO] [stdout] test persistence::tests::last_dir_empty_value_loads_as_none ... ok
[INFO] [stdout] test persistence::tests::last_dir_for_nonexistent_path_loads_as_none ... ok
[INFO] [stdout] test persistence::tests::empty_file_returns_default_state ... ok
[INFO] [stdout] test persistence::tests::legacy_theme_file_with_trailing_whitespace_is_trimmed ... ok
[INFO] [stdout] test persistence::tests::last_dir_round_trips_for_existing_directory ... ok
[INFO] [stdout] test persistence::tests::full_state_round_trips ... ok
[INFO] [stdout] test persistence::tests::legacy_theme_file_content_is_readable ... ok
[INFO] [stdout] test persistence::tests::malformed_lines_without_equals_are_skipped ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_finds_default_theme_at_zero ... ok
[INFO] [stdout] test persistence::tests::cd_on_exit_true_round_trips ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_finds_named_theme ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_is_case_insensitive ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_all_presets_are_found ... ok
[INFO] [stdout] test persistence::tests::last_dir_right_is_none_on_fresh_install ... ok
[INFO] [stdout] test persistence::tests::cd_on_exit_false_round_trips ... ok
[INFO] [stdout] test persistence::tests::last_dir_right_is_updated_when_dual_pane_is_active ... ok
[INFO] [stdout] test persistence::tests::blank_lines_are_ignored ... ok
[INFO] [stdout] test persistence::tests::comment_lines_are_ignored ... ok
[INFO] [stdout] test persistence::tests::missing_file_returns_default_state ... ok
[INFO] [stdout] test persistence::tests::empty_theme_value_loads_as_none ... ok
[INFO] [stdout] test persistence::tests::all_sort_modes_round_trip ... ok
[INFO] [stdout] test persistence::tests::partial_state_leaves_absent_fields_as_none ... ok
[INFO] [stdout] test persistence::tests::all_fields_independent_round_trips ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_persisted_name_survives_round_trip ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_unknown_name_returns_zero ... ok
[INFO] [stdout] test persistence::tests::resolve_theme_idx_normalises_hyphens_to_spaces ... ok
[INFO] [stdout] test persistence::tests::show_hidden_false_round_trips ... ok
[INFO] [stdout] test persistence::tests::single_pane_false_round_trips ... ok
[INFO] [stdout] test persistence::tests::sort_mode_from_key_extension ... ok
[INFO] [stdout] test persistence::tests::sort_mode_from_key_name ... ok
[INFO] [stdout] test persistence::tests::last_dir_right_is_preserved_when_single_pane_is_active ... ok
[INFO] [stdout] test persistence::tests::save_state_creates_parent_directories ... ok
[INFO] [stdout] test persistence::tests::single_pane_true_round_trips ... ok
[INFO] [stdout] test persistence::tests::show_hidden_true_round_trips ... ok
[INFO] [stdout] test persistence::tests::sort_mode_from_key_size_desc ... ok
[INFO] [stdout] test persistence::tests::sort_mode_from_key_unknown_returns_none ... ok
[INFO] [stdout] test persistence::tests::save_state_overwrites_previous_content ... ok
[INFO] [stdout] test persistence::tests::sort_mode_key_round_trips_all_variants ... ok
[INFO] [stdout] test persistence::tests::sort_mode_to_key_name ... ok
[INFO] [stdout] test types::tests::explorer_outcome_dismissed_equals_dismissed ... ok
[INFO] [stdout] test types::tests::explorer_outcome_is_clone ... ok
[INFO] [stdout] test persistence::tests::sort_mode_to_key_extension ... ok
[INFO] [stdout] test persistence::tests::unknown_sort_mode_value_yields_none ... ok
[INFO] [stdout] test persistence::tests::value_containing_equals_sign_is_preserved ... ok
[INFO] [stdout] test persistence::tests::sort_mode_to_key_size_desc ... ok
[INFO] [stdout] test persistence::tests::theme_names_with_spaces_and_hyphens_round_trip ... ok
[INFO] [stdout] test persistence::tests::surrounding_whitespace_in_values_is_trimmed ... ok
[INFO] [stdout] test types::tests::fs_entry_construction_directory ... ok
[INFO] [stdout] test types::tests::explorer_outcome_rename_completed_neq_touch_created ... ok
[INFO] [stdout] test types::tests::explorer_outcome_selected_neq_dismissed ... ok
[INFO] [stdout] test persistence::tests::unknown_keys_are_silently_ignored ... ok
[INFO] [stdout] test types::tests::fs_entry_construction_file ... ok
[INFO] [stdout] test types::tests::explorer_outcome_rename_completed_is_clone ... ok
[INFO] [stdout] test types::tests::explorer_outcome_rename_completed_carries_path ... ok
[INFO] [stdout] test types::tests::explorer_outcome_selected_carries_path ... ok
[INFO] [stdout] test types::tests::sort_mode_default_is_name ... ok
[INFO] [stdout] test types::tests::sort_mode_is_copy ... ok
[INFO] [stdout] test types::tests::sort_mode_full_cycle_returns_to_start ... ok
[INFO] [stdout] test types::tests::sort_mode_label_extension ... ok
[INFO] [stdout] test types::tests::sort_mode_label_name ... ok
[INFO] [stdout] test types::tests::fs_entry_equality ... ok
[INFO] [stdout] test types::tests::fs_entry_no_extension_is_empty_string ... ok
[INFO] [stdout] test render::tests::render_footer_rename_active_does_not_panic ... ok
[INFO] [stdout] test types::tests::explorer_outcome_pending_equals_pending ... ok
[INFO] [stdout] test types::tests::explorer_outcome_unhandled_equals_unhandled ... ok
[INFO] [stdout] test types::tests::sort_mode_next_extension_wraps_to_name ... ok
[INFO] [stdout] test render::tests::render_footer_all_inactive_does_not_panic ... ok
[INFO] [stdout] test types::tests::sort_mode_next_size_desc_gives_extension ... ok
[INFO] [stdout] test types::tests::sort_mode_next_name_gives_size_desc ... ok
[INFO] [stdout] test render::tests::render_footer_touch_active_does_not_panic ... ok
[INFO] [stdout] test types::tests::sort_mode_label_size_desc ... ok
[INFO] [stdout] test ui::tests::nav_hints_spans_contain_arrow_keys ... ok
[INFO] [stdout] test ui::tests::nav_hints_key_spans_are_bold ... ok
[INFO] [stdout] test ui::tests::nav_hints_key_spans_use_accent_colour ... ok
[INFO] [stdout] test ui::tests::nav_hints_spans_contain_search_and_sort ... ok
[INFO] [stdout] test ui::tests::action_bar_spans_contains_expected_key_labels ... ok
[INFO] [stdout] test ui::tests::action_bar_spans_count_is_stable ... ok
[INFO] [stdout] test ui::tests::snackbar_geometry_height_is_three ... ok
[INFO] [stdout] test ui::tests::snackbar_info_and_error_colours_are_distinct ... ok
[INFO] [stdout] test ui::tests::nav_hints_description_spans_use_dim_colour ... ok
[INFO] [stdout] test render::tests::render_footer_search_active_does_not_panic ... ok
[INFO] [stdout] test ui::tests::action_bar_spans_description_spans_are_not_bold ... ok
[INFO] [stdout] test ui::tests::action_bar_spans_description_spans_use_dim_colour ... ok
[INFO] [stdout] test ui::tests::action_bar_spans_key_spans_are_bold ... ok
[INFO] [stdout] test render::tests::render_footer_mkdir_active_does_not_panic ... ok
[INFO] [stdout] test ui::tests::action_bar_spans_key_spans_use_accent_colour ... ok
[INFO] [stdout] test ui::tests::nav_hints_span_count_is_stable ... ok
[INFO] [stdout] test ui::tests::snackbar_message_is_preserved ... ok
[INFO] [stdout] test ui::tests::snackbar_error_uses_brand_colour ... ok
[INFO] [stdout] test ui::tests::snackbar_info_uses_success_colour ... ok
[INFO] [stdout] test ui::tests::snackbar_is_expired_after_deadline ... ok
[INFO] [stdout] test ui::tests::snackbar_width_capped_to_area ... ok
[INFO] [stdout] test ui::tests::snackbar_width_at_least_minimum ... ok
[INFO] [stdout] test ui::tests::snackbar_is_not_expired_when_fresh ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tfe-28c0f6e8dc5be3be)
[INFO] [stdout] test palette::tests::default_theme_brand_matches_constant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 501 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 82 tests
[INFO] [stdout] test shell_init::tests::auto_install_detects_wrapper_in_zprofile_and_skips_install ... ok
[INFO] [stdout] test shell_init::tests::auto_install_detects_wrapper_in_zshenv_and_skips_install ... ok
[INFO] [stdout] test shell_init::tests::auto_install_already_installed_outcome_carries_rc_path ... ok
[INFO] [stdout] test shell_init::tests::auto_install_bash_returns_installed_on_first_run ... ok
[INFO] [stdout] test shell_init::tests::auto_install_returns_unknown_shell_when_shell_is_none_and_home_is_none ... ok
[INFO] [stdout] source:/tmp/test_rc
[INFO] [stdout] test shell_init::tests::display_returns_lowercase_name ... ok
[INFO] [stdout] test shell_init::tests::auto_install_installed_outcome_carries_rc_path ... ok
[INFO] [stdout] test shell_init::tests::auto_install_falls_back_to_zshenv_when_zshrc_absent ... ok
[INFO] [stdout] test shell_init::tests::emit_source_directive_does_not_panic ... ok
[INFO] [stdout] test shell_init::tests::auto_install_returns_already_installed_on_second_run ... ok
[INFO] [stdout] test shell_init::tests::auto_install_does_nothing_when_shell_unrecognised ... ok
[INFO] [stdout] test shell_init::tests::auto_install_nushell_creates_parent_directories_for_config_nu ... ok
[INFO] [stdout] test shell_init::tests::from_str_is_case_insensitive ... ok
[INFO] [stdout] test shell_init::tests::auto_install_writes_wrapper_on_first_run ... ok
[INFO] [stdout] test shell_init::tests::auto_install_returns_installed_on_first_run ... ok
[INFO] [stdout] test shell_init::tests::from_str_recognises_bash ... ok
[INFO] [stdout] test shell_init::tests::from_str_recognises_fish ... ok
[INFO] [stdout] test shell_init::tests::from_str_recognises_powershell ... ok
[INFO] [stdout] test shell_init::tests::from_str_recognises_nushell ... ok
[INFO] [stdout] test shell_init::tests::auto_install_nushell_returns_already_installed_when_config_nu_has_sentinel ... ok
[INFO] [stdout] test shell_init::tests::auto_install_uses_zdotdir_when_set ... ok
[INFO] [stdout] test shell_init::tests::auto_install_nushell_writes_config_nu_on_first_run ... ok
[INFO] [stdout] test shell_init::tests::auto_install_zsh_already_installed_in_zshenv_returns_already_installed ... ok
[INFO] [stdout] test shell_init::tests::auto_install_nushell_does_not_duplicate_when_already_installed ... ok
[INFO] [stdout] test shell_init::tests::auto_install_does_not_duplicate_when_already_installed ... ok
[INFO] [stdout] test shell_init::tests::from_str_returns_none_for_unknown ... ok
[INFO] [stdout] test shell_init::tests::install_creates_parent_directories ... ok
[INFO] [stdout] test shell_init::tests::install_creates_rc_file_when_missing ... ok
[INFO] [stdout] test shell_init::tests::install_nushell_snippet_passes_is_installed ... ok
[INFO] [stdout] test shell_init::tests::install_or_print_bash_uses_bash_profile_when_present ... ok
[INFO] [stdout] test shell_init::tests::install_or_print_installs_when_rc_writable ... ok
[INFO] [stdout] test shell_init::tests::install_does_not_duplicate_when_called_twice ... ok
[INFO] [stdout] test shell_init::tests::install_appends_snippet_to_existing_file ... ok
[INFO] [stdout] test shell_init::tests::auto_install_fish_returns_installed_on_first_run ... ok
[INFO] [stdout] test shell_init::tests::install_nushell_creates_parent_directories ... ok
[INFO] [stdout] test shell_init::tests::install_or_print_zsh_falls_back_to_zshenv_when_zshrc_absent ... ok
[INFO] [stdout] test shell_init::tests::install_nushell_creates_config_nu_when_missing ... ok
[INFO] [stdout] test shell_init::tests::install_or_print_returns_already_installed_when_sentinel_present ... ok
[INFO] [stdout] test shell_init::tests::install_or_print_zsh_uses_zdotdir ... ok
[INFO] [stdout] test shell_init::tests::install_written_snippet_passes_is_installed ... ok
[INFO] [stdout] test shell_init::tests::is_installed_returns_false_for_empty_file ... ok
[INFO] [stdout] test shell_init::tests::is_installed_returns_false_for_missing_file ... ok
[INFO] [stdout] test shell_init::tests::is_installed_detects_hand_written_bash_wrapper ... ok
[INFO] [stdout] test shell_init::tests::is_installed_detects_hand_written_fish_wrapper ... ok
[INFO] [stdout] test shell_init::tests::rc_path_bash_ends_with_bashrc ... ok
[INFO] [stdout] test shell_init::tests::rc_path_fish_falls_back_to_home_config ... ok
[INFO] [stdout] test shell_init::tests::rc_path_fish_uses_xdg_config_home_when_set ... ok
[INFO] [stdout] test shell_init::tests::rc_path_nu_returns_none_when_nu_config_dir_unset ... ok
[INFO] [stdout] test shell_init::tests::is_installed_returns_false_when_sentinel_absent ... ok
[INFO] [stdout] test shell_init::tests::rc_path_nu_uses_nu_config_dir ... ok
[INFO] [stdout] test shell_init::tests::is_installed_detects_sentinel_in_nushell_config ... ok
[INFO] [stdout] test shell_init::tests::is_installed_returns_true_when_sentinel_present ... ok
[INFO] [stdout] test shell_init::tests::is_installed_nushell_returns_false_when_sentinel_absent ... ok
[INFO] [stdout] test shell_init::tests::rc_path_zsh_falls_back_to_zshenv_when_it_exists ... ok
[INFO] [stdout] test shell_init::tests::is_installed_nushell_returns_true_when_sentinel_present ... ok
[INFO] [stdout] test shell_init::tests::from_str_recognises_zsh ... ok
[INFO] [stdout] test shell_init::tests::rc_path_powershell_falls_back_to_home_config_on_unix ... ok
[INFO] [stdout] test shell_init::tests::install_nushell_does_not_duplicate_when_called_twice ... ok
[INFO] [stdout] test shell_init::tests::rc_path_returns_none_when_home_unset ... ok
[INFO] [stdout] test shell_init::tests::rc_path_zsh_prefers_zdotdir ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_differs_from_bash ... ok
[INFO] [stdout] test shell_init::tests::snippet_contains_sentinel ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_uses_str_trim ... ok
[INFO] [stdout] test shell_init::tests::snippet_fish_contains_function_body ... ok
[INFO] [stdout] test shell_init::tests::rc_path_zsh_prefers_zshrc_over_zshenv_when_both_exist ... ok
[INFO] [stdout] test shell_init::tests::snippet_fish_differs_from_bash ... ok
[INFO] [stdout] test shell_init::tests::snippet_bash_contains_function_body ... ok
[INFO] [stdout] test shell_init::tests::snippet_fish_handles_source_directive ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_contains_def_env ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_contains_def_wrapped ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_does_not_use_each_closure ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_uses_caret_tfe ... ok
[INFO] [stdout] test shell_init::tests::snippet_nushell_uses_cd ... ok
[INFO] [stdout] test shell_init::tests::is_installed_detects_sentinel_based_wrapper ... ok
[INFO] [stdout] test shell_init::tests::rc_path_zsh_defaults_to_zshrc ... ok
[INFO] [stdout] test shell_init::tests::snippet_bash_handles_source_directive ... ok
[INFO] [stdout] test shell_init::tests::snippet_powershell_contains_function_body ... ok
[INFO] [stdout] test shell_init::tests::snippet_powershell_differs_from_bash ... ok
[INFO] [stdout] test shell_init::tests::snippet_pwsh_handles_source_directive ... ok
[INFO] [stdout] test shell_init::tests::source_directive_prefix_constant_value ... ok
[INFO] [stdout] test shell_init::tests::snippet_zsh_identical_to_bash ... ok
[INFO] [stdout] test shell_init::tests::install_or_print_returns_printed_when_rc_not_writable ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--bin tfe`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- shell_init::tests::install_or_print_returns_printed_when_rc_not_writable stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'shell_init::tests::install_or_print_returns_printed_when_rc_not_writable' (557) panicked at src/shell_init.rs:1491:13:
[INFO] [stdout] assertion `left == right` failed: read-only dir must fall back to stdout
[INFO] [stdout]   left: Installed("/tmp/.tmpf5jYCk/readonly/.zshrc")
[INFO] [stdout]  right: PrintedToStdout
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x60379436332a - std[ec4e911328de40a6]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x60379436332a - std[ec4e911328de40a6]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec4e911328de40a6]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x60379436332a - std[ec4e911328de40a6]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x60379436332a - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x603794377f1a - <core[a96a4c5c53f902a3]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x603794377f1a - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    6:     0x603794367cb2 - std[ec4e911328de40a6]::io::default_write_fmt::<alloc[c960326de6de28e6]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x603794367cb2 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x6037943404cf - <std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x6037943404cf - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x60379435abf9 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x6037942dff6c - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   12:     0x6037942dff6c - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x60379435adb2 - <alloc[c960326de6de28e6]::boxed::Box<dyn for<'a, 'b> core[a96a4c5c53f902a3]::ops::function::Fn<(&'a std[ec4e911328de40a6]::panic::PanicHookInfo<'b>,), Output = ()> + core[a96a4c5c53f902a3]::marker::Sync + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::Fn<(&std[ec4e911328de40a6]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2254:9
[INFO] [stdout]   14:     0x60379435adb2 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x603794340588 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x603794337cf9 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x60379434144d - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x60379437866c - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x603794378583 - core[a96a4c5c53f902a3]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:434:23
[INFO] [stdout]   20:     0x6037942d1873 - core[a96a4c5c53f902a3]::panicking::assert_failed::<tfe[1d9650d0b099693c]::shell_init::InitOutcome, tfe[1d9650d0b099693c]::shell_init::InitOutcome>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x6037942c5454 - tfe[1d9650d0b099693c]::shell_init::tests::install_or_print_returns_printed_when_rc_not_writable
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shell_init.rs:1491:13
[INFO] [stdout]   22:     0x6037942ba3b7 - tfe[1d9650d0b099693c]::shell_init::tests::install_or_print_returns_printed_when_rc_not_writable::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/shell_init.rs:1471:63
[INFO] [stdout]   23:     0x6037942d09e6 - <tfe[1d9650d0b099693c]::shell_init::tests::install_or_print_returns_printed_when_rc_not_writable::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6037942d404b - <fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x6037942d404b - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x6037942e0a3b - test[30c43f9fd66fea90]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x6037942e0a3b - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   28:     0x6037942e0a3b - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x6037942e0a3b - std[ec4e911328de40a6]::panicking::catch_unwind::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x6037942e0a3b - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<test[30c43f9fd66fea90]::run_test_in_process::{closure#0}>, core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x6037942e0a3b - test[30c43f9fd66fea90]::run_test_in_process
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x6037942e0a3b - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x6037942dc154 - test[30c43f9fd66fea90]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x6037942dc154 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x6037942e3642 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x6037942e3642 - <core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   37:     0x6037942e3642 - std[ec4e911328de40a6]::panicking::catch_unwind::do_call::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x6037942e3642 - std[ec4e911328de40a6]::panicking::catch_unwind::<(), core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x6037942e3642 - std[ec4e911328de40a6]::panic::catch_unwind::<core[a96a4c5c53f902a3]::panic::unwind_safe::AssertUnwindSafe<std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x6037942e3642 - std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x6037942e3642 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x60379436271f - <alloc[c960326de6de28e6]::boxed::Box<dyn core[a96a4c5c53f902a3]::ops::function::FnOnce<(), Output = ()> + core[a96a4c5c53f902a3]::marker::Send> as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/alloc/src/boxed.rs:2240:9
[INFO] [stdout]   43:     0x60379436271f - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/0abe69e6c16114311cc2700e972492e64d69c28f/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   44:     0x7e5073d72aa4 - <unknown>
[INFO] [stdout]   45:     0x7e5073dffa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     shell_init::tests::install_or_print_returns_printed_when_rc_not_writable
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 81 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9b4a20e20e85055e90cc93e2e89337ea856f42d08a93b810267cf179012b0570", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b4a20e20e85055e90cc93e2e89337ea856f42d08a93b810267cf179012b0570", kill_on_drop: false }`
[INFO] [stdout] 9b4a20e20e85055e90cc93e2e89337ea856f42d08a93b810267cf179012b0570
